
server {
<%- if @listen_ip.is_a?(Array) then -%>
  <%- @listen_ip.each do |ip| -%>
  listen       <%= ip %>:<%= @ssl_port %>;
  <%- end -%>
<%- else -%>
  listen       <%= @listen_ip %>:<%= @ssl_port %>;
<%- end -%>
<%# check to see if ipv6 support exists in the kernel before applying -%>
<%- if @ipv6_enable && (defined? @ipaddress6) -%>
  <%- if @ipv6_listen_ip.is_a?(Array) then -%>
    <%- @ipv6_listen_ip.each do |ipv6| -%>
  listen [<%= ipv6 %>]:<%= @ssl_port %><% if @ipv6_listen_options %> <%= @ipv6_listen_options %><% end %>;
    <%- end -%>
  <%- else -%>
  listen [<%= @ipv6_listen_ip %>]:<%= @ssl_port %><% if @ipv6_listen_options %> <%= @ipv6_listen_options %><% end %>;
  <%- end -%>
<%- end -%>
  server_name           <%= @server_name.join(" ") %>;
  protocol              <%= @protocol %>;
  xclient               <%= @xclient %>;
  auth_http             <%= @auth_http %>;

  ssl on;
  ssl_certificate      <%= @ssl_cert %>;
  ssl_certificate_key  <%= @ssl_key %>;

  ssl_session_timeout  5m;

  ssl_protocols  SSLv3 TLSv1;

  # Suggested from https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx
  ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';

  ssl_prefer_server_ciphers   on;

}
